#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//void tochar(char arr[20], long a, int num)
//{
//	int i = 0;
//	while (a != 0)
//	{
//		arr[(num-1) - i] = a % 10 + 48;
//		a = a / 10;
//		i++;
//	}
//}
//void addchar(char arr[20], int i, int sz)
//{
//	int n = 0;
//	n = sz;
//	for (n; n > i; n)
//	{
//		arr[n + i] = arr[n];
//	}
//}
//int num(long a)
//{
//	int i = 0;
//	while (a)
//	{
//		a = a / 10;
//		i++;
//	}
//	return i;
//}
//void checkchar(char* arr,int sz)
//{
//	int i = 1;
//	char tmp = 0;
//	while (arr[i] != '\0')
//	{
//		if (i % 3 == 0)
//		{
//			addchar(arr, i,sz);
//			arr[i] = ',';
//		}
//		i++;
//	}
//}
//
//int main()
//{
//	long a = 123456789;
//	//scanf("%ld", &a);
//	int i = num(a);
//	char arr[50] = { 0 };
//	int sz = strlen(arr);
//	tochar(arr, a,i);
//	printf("%s\n", arr);
//	checkchar(arr,sz);
//	printf("%s\n", arr);
//}
//
////int main()
////{
////	char arr1[100] = { 0 };
////	gets(arr1);
////	char arr2[100] = { 0 };
////	gets(arr2);
////	printf("%s\n", arr1);
////	return 0;
////}

int main()
{
	char a = -1;
	unsigned char b = 0;
	unsigned char c = 1;
	long long d = 0;
	d = ((long long)a) << 16 + ((long long)b) << 8 + (long long)c;
	printf("%lld\n", d);
	return 0;
}